#pragma once
extern void CalSameDisPolyLine(pair<vector<Point_3>, vector<Point_3>>& vPairPnt, pair <vector<int>, vector<int>>& vPairPntInx, const vector<Point_3>& vPntGeo, double width, double dTol = 0.001, double dMinHeight=4, Vector_3 veUp = Vector_3(0, 0, 1));
extern vector<vector<Point_2>> CalOffsetPolyon(const vector<list<PolyPnt>>& vPolyLine, double width, double dTol = 1e-4);
extern void CalSameDisPolyLineWithMesh(vector<vector<Point_3>>& vMeshPntSide, vector<vector<double>>& vMeshPntLength, const vector<list<PolyPnt>>& vPolyLine, double width, double dTol = 1e-4);